package cn.edu.zafu.bigdata.x.hjn;

import java.io.*;
public class RhymingWords {
    public static void main(String[] args) throws  IOException{
        FileReader words=new FileReader("X:\\X\\develop\\code\\hjn\\LearnJava\\files\\word.txt" );

        Reader rhymedWords=reverse(sort(reverse(words)));
        BufferedReader in=new BufferedReader(rhymedWords);
        String input;
        while((input = in.readLine()) != null)
            System.out.println(input);
        in.close();
    }
    public static Reader reverse(Reader source) throws IOException{
        BufferedReader in =new BufferedReader(source);
        PipedWriter pipeOut =new PipedWriter();
        PipedReader pipedIn =new PipedReader(pipeOut);
        PrintWriter out = new PrintWriter(pipeOut);
        new ReverseThread(out,in).start();
        return pipedIn;
    }
    public static Reader sort(Reader source) throws  IOException{
        BufferedReader in =new BufferedReader(source);
        PipedWriter pipeOut =new PipedWriter();
        PipedReader pipedIn =new PipedReader(pipeOut);
        PrintWriter out = new PrintWriter(pipeOut);
        new SortThread(out,in).start();
        return pipedIn;

    }
}
